home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Magazine / SFX / sfx-data / _rexx / ConvertDir.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1999-11-15  |  1.4 KB  |  68 lines

  1. /****h* SoundFX/ConvertDir.rexx [0.00] *
  2. *
  3. *  NAME
  4. *    ConvertDir.rexx
  5. *  COPYRIGHT
  6. *    $VER: ConvertDir.rexx 0.00 (15.11.99) © by Stefan Kost 1998-1999
  7. *  FUNCTION
  8. *    convert all files in current dir to the currently selected fileformat
  9. *  SYNOPSIS
  10. *    rx ConvertDir <workdir> <newext>
  11. *  EXAMPLE
  12. *    rx ConvertDir.rexx data:swap/conv .wav
  13. *  AUTHOR
  14. *    Stefan Kost            sk
  15. *  CREATION DATE
  16. *    15.Nov.1999
  17. *  MODIFICATION HISTORY
  18. *    15.Nov.1999    V 0.00    most recent version
  19. *    15.Nov.1999    V 1.00    initial version
  20. *  NOTES
  21. *
  22. *******
  23. */
  24.  
  25. PARSE ARG workdir newext
  26. OPTIONS RESULTS
  27. ADDRESS 'REXX_SFX'
  28.  
  29. IF fname="" || newext="" THEN DO
  30.     Say "Usage:"
  31.     Say "  rx ConvertDir <workdir> <newext>"
  32.     EXIT
  33. END
  34.  
  35. workdir=Strip(workdir);
  36. newext=Strip(newext);
  37.  
  38. SFX_SelLoader 'Universal'
  39. /*SFX_SelSaver 'RIFF-WAV'*/                    /* we allow any destination format */
  40.  
  41. ADDRESS COMMAND 'list >t:filelist '||workdir||' LFORMAT="%f%s"'
  42.  
  43. IF ~Open(direntries,'t:filelist','R') THEN DO
  44.  
  45. END
  46. ELSE DO
  47.     DO UNTIL Eof(direntries)
  48.         sfilename=ReadLn(direntries)
  49.         ln=Length(sfilename)
  50.         IF ln>0 THEN DO
  51.             dfilename=sfilename||newext
  52.             DO p=ln TO 1 BY -1
  53.                 IF Substr(sfilename,p,1)='.' THEN DO
  54.                     dfilename=Substr(sfilename,1,(p-1))||newext
  55.                     BREAK
  56.                 END
  57.             END
  58.             Say sfilename||' -> '||dfilename
  59.             SFX_LoadSample sfilename
  60.             buf1=RESULT
  61.             SFX_SaveSample dfilename
  62.             SFX_RemoveBuffer buf1
  63.         END
  64.     END
  65. END
  66. CALL Close(direntries);
  67. EXIT
  68.